﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using aplicacionVideoclub.BaseDatos;
using aplicacionVideoclub.LogicaNegocio;

namespace aplicacionVideoclub.LogicaNegocio
{
    public static class admUsuarios
    {
        //Metodo para buscar usuarios en la BD
        public static Usuario buscarUsuario(string busqueda)
        {
            VideoclubEntities bd = new VideoclubEntities(); 
            return bd.Usuario.SingleOrDefault(u => u.nombreUsuario==busqueda); 
        }

        public static bool validarUsuario(string nombre, string clave)
        {
            VideoclubEntities bd = new VideoclubEntities();
            return bd.Usuario.Any(u => u.nombreUsuario == nombre && u.clave == clave);
        }

        //Método para ingresar usuarios al sistema 
        public static string ingresarUsuario(string nombreUsu, string clave)
        {
            VideoclubEntities bd = new VideoclubEntities();
            var usuario = buscarUsuario(nombreUsu);
            if (usuario != null)
            {
                string mensaje = "El usuario ya existe";
                return mensaje;
            }
            else
            {
                Usuario nuevousuario = new Usuario
                {
                    nombreUsuario = nombreUsu,
                    clave = clave
                };

                bd.Usuario.Add(nuevousuario);
                bd.SaveChanges();
                string mensaje = "Usuario creado";
                return mensaje;
            }
        }

        //Método para actualizar la clave de los usuarios del sistema
        public static string modificarUsuario(string nombre, string clave)
        {
            VideoclubEntities bd = new VideoclubEntities();
            Usuario actUsuario = bd.Usuario.SingleOrDefault(a => a.nombreUsuario == nombre);
            actUsuario.clave = clave;
            bd.SaveChanges();
            string mensaje = "Contraseña actualizada";
            return mensaje;
        }

        //Método para eliminar un usuario del sistema 
        public static string eliminarUsuario(int idUsuario)
        {
            VideoclubEntities bd = new VideoclubEntities();
            Usuario eliUsuario = bd.Usuario.SingleOrDefault(e=>e.id_usuario == idUsuario);
            bd.Usuario.Remove(eliUsuario);
            bd.SaveChanges();
            string mensaje = "Usuario eliminado";
            return mensaje;
        }
    }
}
